home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 26 / CU Amiga Magazine's Super CD-ROM 26 (1998)(EMAP Images)(GB)[!][issue 1998-09].iso / CUCD / Utilities / Freedom / Install TrueType Font < prev    next >
Text File  |  1998-07-16  |  18KB  |  617 lines

  1. ;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  2. ;|                                                                       |
  3. ;*                          S T R I N G S                                *
  4. ;|                                                                       |
  5. ;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  6.  
  7. (set #MSG_INTRO "\nWith this script you can install new truetype fonts. Do you want to continue?")
  8. (set #MSG_NOFONTDIR "\nYou forgot to run the \"Prepare Font Directory\" script. You can't continue before having done that ...");
  9. (set #MSG_SELECTFONT "Choose the truetype font you want to install (file must end in \".ttf\" or \".ttc\")!");
  10. (set #MSG_NOTEXIST "\nFont file does not exist!? Try again ...")
  11. (set #MSG_BADFILE "\nDidn't I say, that the file must end in \".ttf\" or \".ttc\"!?")
  12. (set #MSG_CREATE_FONT "\nCreating font contents file (\"%s\") in \"%s\" ...")
  13. (set #MSG_COPY_TT   "\nCopying truetype font file (\"%s\") to \"%s\" ...")
  14.  
  15. (set #MSG_OTAG "\nNow you will be asked for some information needed to create the outline tag file ...")
  16. (set #MSG_OTAG_FAMILY "\nEnter a family name for the font!")
  17. (set #MSG_OTAG_YSIZEFACTOR_HIGH "\nEnter YSizeFactor high word!")
  18. (set #MSG_OTAG_YSIZEFACTOR_LOW "\nEnter YSizeFactor low word!")
  19. (set #MSG_OTAG_SPACEWIDTH "\nEnter SpaceWidth factor!")
  20. (set #MSG_OTAG_FIXED "\nIs the font proportional (non-fixed)?")
  21. (set #MSG_OTAG_SERIF "\nIs the font serif less?")
  22.  
  23. (set #MSG_OTAG_STEMWEIGHT "\nEnter StemWeight!")
  24. (set #MSG_SW_ULTRATHIN "\x1B[2pUltra thin")
  25. (set #MSG_SW_EXTRATHIN "Extra thin")
  26. (set #MSG_SW_THIN "Thin")
  27. (set #MSG_SW_EXTRALIGHT "Extra light")
  28. (set #MSG_SW_LIGHT "Light")
  29. (set #MSG_SW_DEMILIGHT "Demi light")
  30. (set #MSG_SW_SEMILIGHT "Semi light")
  31. (set #MSG_SW_BOOK "Book")
  32. (set #MSG_SW_MEDIUM "Medium")
  33. (set #MSG_SW_SEMIBOLD "Semi bold")
  34. (set #MSG_SW_DEMIBOLD "Demi bold")
  35. (set #MSG_SW_BOLD "Bold")
  36. (set #MSG_SW_EXTRABOLD "Extra bold")
  37. (set #MSG_SW_BLACK "Black")
  38. (set #MSG_SW_EXTRABLACK "Extra black")
  39. (set #MSG_SW_ULTRABLACK "Ultra black")
  40.  
  41. (set #MSG_OTAG_SLANTSTYLE "\nEnter SlantStyle!")
  42. (set #MSG_SLANTSTYLE_NORMAL "\x1B[2pUpright (normal)")
  43. (set #MSG_SLANTSTYLE_ITALIC "Italic")
  44. (set #MSG_SLANTSTYLE_LEFTITALIC "Left Italic")
  45.  
  46. (set #MSG_OTAG_HORIZSTYLE "\nEnter HorizStyle!")
  47. (set #MSG_HS_ULTRACOMPRESSED "\x1B[2pUltra compressed")
  48. (set #MSG_HS_EXTRACOMPRESSED "Extra compressed")
  49. (set #MSG_HS_COMPRESSED "Compressed")
  50. (set #MSG_HS_CONDENSED "Condensed")
  51. (set #MSG_HS_NORMAL "Normal")
  52. (set #MSG_HS_SEMIEXPANDED "Semi expanded")
  53. (set #MSG_HS_EXPANDED "Expanded")
  54. (set #MSG_HS_EXTRAEXPANDED "Extra expanded")
  55.  
  56. (set #MSG_OTAG_SIZES "\nEnter font sizes to be displayed in ASL requesters. Enter nothing after last size!\n\n")
  57.  
  58. (set #MSG_ANOTHER_FONT "\nFont has been installed successfully!\n\nDo you want to install one more font?")
  59. (set #MSG_ANOTHER_YES "\x1B[2pYes")
  60. (set #MSG_ANOTHER_YES2 "Yes, using the same data for the .otag file")
  61. (set #MSG_ANOTHER_NO "No.") 
  62.  
  63. (set #MSG_DONE "\nInstallation complete!")
  64. (set #MSG_ABORT "\nInstallation aborted!")
  65.  
  66. (set #MSG_NOHELP "I can't help you!")
  67.  
  68.  
  69. ;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  70. ;|                                                                       |
  71. ;*                        P R O C E D U R E S                            *
  72. ;|                                                                       |
  73. ;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  74.  
  75.  
  76. ;#FONT and #QUERY_ID must be set
  77. ;result in #RESULT
  78.  
  79. (procedure P_GetTTInfo
  80.     (
  81.         (set #RESULT "")
  82.         (if (= 0 (run ("Tools/GetTTInfo \"%s\" %s >ENV:FREEDOM_TEMP_RESULT" #FONT #QUERY_ID)))
  83.             (
  84.                 (set #RESULT (getenv "FREEDOM_TEMP_RESULT"))
  85.                 (if (> (strlen #RESULT) 0)
  86.                     (
  87.                         (set #RESULT (substr #RESULT 0 (- (strlen #RESULT) 1))) 
  88.                     )
  89.                 )
  90.                 (delete "ENV:FREEDOM_TEMP_RESULT")
  91.             )
  92.         )
  93.     )
  94. )
  95.  
  96. ;--------------------------------------------------------------------------
  97.  
  98. ;#ICON and #TOOLTYPE must be set
  99. ;result in #RESULT
  100.  
  101. (procedure P_GetToolType
  102.     (
  103.         (set #RESULT "")
  104.         (if (= 0 (run ("Tools/GetToolType \"%s\" %s >ENV:FREEDOM_TEMP_RESULT" #ICON #TOOLTYPE)))
  105.             (
  106.                 (set #RESULT (getenv "FREEDOM_TEMP_RESULT"))
  107.                 (if (> (strlen #RESULT) 0)
  108.                     (
  109.                         (set #RESULT (substr #RESULT 0 (- (strlen #RESULT) 1)))
  110.                     )
  111.                 )
  112.                 (delete "ENV:FREEDOM_TEMP_RESULT")
  113.             )
  114.         )
  115.     )
  116. )
  117.  
  118. ;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  119. ;|                                                                       |
  120. ;*                             S T A R T                                 *
  121. ;|                                                                       |
  122. ;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  123.  
  124.  
  125. (if (= 0 (askbool
  126.             (prompt #MSG_INTRO)
  127.             (default 1)
  128.             (help #MSG_NOHELP)
  129.          )
  130.     )
  131.     (
  132.         (exit #MSG_ABORT (quiet))
  133.     )
  134. )
  135.  
  136. ;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  137. ;|                                                                       |
  138. ;*     G E T   S C R I P T   C O N F I G   F R O M   T O O L T Y P E     *      
  139. ;|                                                                       |
  140. ;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  141.  
  142. (set #ICON "Install TrueType Font") 
  143.  
  144. (set #TOOLTYPE "YSIZEFACTORHIGH")
  145. (P_GetToolType)
  146. (if (<> "" #RESULT) (set #tt_ysizefactorhigh #RESULT) (set #tt_ysizefactorhigh ""))
  147.  
  148. (set #TOOLTYPE "YSIZEFACTORLOW")
  149. (P_GetToolType)
  150. (if (<> "" #RESULT) (set #tt_ysizefactorlow #RESULT) (set #tt_ysizefactorlow ""))
  151.  
  152. (set #TOOLTYPE "SPACEWIDTH")
  153. (P_GetToolType)
  154. (if (<> "" #RESULT) (set #tt_spacewidth #RESULT) (set #tt_spacewidth ""))
  155.  
  156. (set #TOOLTYPE "ASLSIZES")
  157. (P_GetToolType)
  158. (if (<> "" #RESULT)
  159.     (
  160.         (set #t_aslsizes (cat #RESULT " "))
  161.  
  162.         ;** convert spaces to LFs 
  163.  
  164.         (set #len (strlen #t_aslsizes))
  165.         (set #i 0)
  166.         (set #wasspace 0)
  167.         (set #tt_aslsizes "")
  168.  
  169.         (while (< #i #len)
  170.             (
  171.                 (if (= " " (substr #t_aslsizes #i 1))
  172.                     (if (= 0 #wasspace)
  173.                         (
  174.                             (set #tt_aslsizes (cat #tt_aslsizes "\n"))
  175.                             (set #wasspace 1)
  176.                         )            
  177.                     )
  178.                     (
  179.                         (set #tt_aslsizes (cat #tt_aslsizes (substr #t_aslsizes #i 1)))
  180.                         (set #wasspace 0)
  181.                     )
  182.                 )
  183.                 (set #i (+ #i 1))
  184.             )
  185.         )
  186.  
  187.         (set #tt_aslsizes (cat #tt_aslsizes "\n"))
  188.     )
  189.     (set #tt_aslsizes "")
  190. )
  191.  
  192. ;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  193. ;|                                                                       |
  194. ;*         G E T   P A T H   F O R   T R U E T Y P E   F I L E S         *
  195. ;|                                                                       |
  196. ;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  197.  
  198. (set #fontpath "")
  199.  
  200. (while (= "" #fontpath)
  201.     (
  202.         (set #fontpath (getenv "FREEDOM_FONT_PATH"))
  203.         (if (= "" #fontpath)
  204.             (message #MSG_NOFONTDIR)
  205.         )
  206.     )
  207. )
  208.  
  209. ;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  210. ;|                                                                       |
  211. ;*     W H I L E   " O N E   M O R E   F O N T   T O   I N S T A L L "   *                *
  212. ;|                                                                       |
  213. ;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  214.  
  215. (set #defaultpath (expandpath "RAM:"))
  216. (set #again 1)
  217. (set #sameotag 0)
  218. (set #defaultagainanswer 2)
  219. (set #firstloop 1)
  220.  
  221. (while (= 1 #again)
  222.     (
  223.         (set #fileok 0)
  224.  
  225.  
  226. ;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  227. ;|                                                                       |
  228. ;*             A S K   F O R   T R U E T Y P E   F I L E                 *
  229. ;|                                                                       |
  230. ;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  231.  
  232.         (while (= 0 #fileok)
  233.             (
  234.                 (set #file
  235.                     (expandpath
  236.                         (askfile
  237.                             (prompt #MSG_SELECTFONT)
  238.                             (default #defaultpath)
  239.                             (help #MSG_NOHELP)
  240.                         )
  241.                     )
  242.                 )
  243.                 
  244.                 (if (= 0 (exists #file))
  245.                     (message #MSG_NOTEXIST)
  246.                     (
  247.                         (if (<> 0 (patmatch "(#?.ttf|#?.ttc)" #file))
  248.                             (set #fileok 1)
  249.                             (message #MSG_BADFILE)
  250.                         )
  251.                     )
  252.                 )
  253.                 
  254.             )
  255.         )
  256.         (set #defaultpath (pathonly #file))
  257.         
  258.         (set #fileonly (fileonly #file))
  259.         (set #fileonlyonly (substr #fileonly 0 (- (strlen #fileonly) 4)))
  260.  
  261.  
  262. ;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  263. ;|                                                                       |
  264. ;* M A K E   " . F O N T "   A N D   C O P Y   T R U E T Y P E   F I L E *
  265. ;|                                                                       |
  266. ;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  267.  
  268.  
  269.         (run ("Tools/MakeOFont \"%s\"" (tackon #fontpath #fileonlyonly))
  270.             (prompt (#MSG_CREATE_FONT (cat #fileonlyonly ".font") #fontpath))
  271.             (help #MSG_NOHELP)
  272.             (confirm)
  273.         )
  274.  
  275.  
  276.  
  277.         (set #ttdest (expandpath (tackon #fontpath "_truetype")))
  278.  
  279.         ;** to allow re-installing in same place
  280.  
  281.         (if (<> #ttdest (pathonly #file))
  282.             (copyfiles
  283.                 (prompt (#MSG_COPY_TT #fileonly #ttdest))
  284.                 (source #file)
  285.                 (dest #ttdest)
  286.                 (help #MSG_NOHELP)
  287.                 (confirm)
  288.             )
  289.         )
  290.     
  291.  
  292. ;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  293. ;|                                                                       |
  294. ;*                          O T A G   F I L E                            *
  295. ;|                                                                       |
  296. ;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  297.  
  298.  
  299.         ;*** otag
  300.         
  301.         (if (= 0 #sameotag) (message #MSG_OTAG))
  302.  
  303.         (set #FONT #file)
  304.         
  305.         ;-- FAMILYNAME ----------------------------------------------------
  306.         
  307.         (set #QUERY_ID "FAMILYNAME")
  308.         (P_GetTTInfo)
  309.         (if (<> "" #RESULT)
  310.             (set #familyname #RESULT)
  311.             (set #familyname
  312.                 (askstring
  313.                     (prompt #MSG_OTAG_FAMILY)
  314.                     (help #MSG_NOHELP)
  315.                     (default #fileonlyonly)
  316.                 )
  317.             )
  318.         )
  319.  
  320.         (if (= 0 #sameotag)
  321.             (
  322.  
  323.                 ;-- YSIZEFACTORHIGH ---------------------------------------
  324.  
  325.                 (if (= "" #tt_ysizefactorhigh)
  326.                     (set #ysizefactorhigh
  327.                         (askstring
  328.                             (prompt #MSG_OTAG_YSIZEFACTOR_HIGH)
  329.                             (help #MSG_NOHELP)
  330.                             (default "8782")
  331.                         )
  332.                     )
  333.                     (set #ysizefactorhigh #tt_ysizefactorhigh)
  334.                 )
  335.                 
  336.                 ;-- YSIZEFACTORLOW ----------------------------------------
  337.                 
  338.                 (if (= "" #tt_ysizefactorlow)
  339.                     (set #ysizefactorlow
  340.                         (askstring
  341.                             (prompt #MSG_OTAG_YSIZEFACTOR_LOW)
  342.                             (help #MSG_NOHELP)
  343.                             (default "10034")
  344.                         )
  345.                     )
  346.                     (set #ysizefactorlow #tt_ysizefactorlow)
  347.                 )
  348.  
  349.                 ;-- SPACEWIDTH --------------------------------------------
  350.  
  351.                 (if (= "" #tt_spacewidth)
  352.                     (set #spacewidth
  353.                         (askstring
  354.                             (prompt #MSG_OTAG_SPACEWIDTH)
  355.                             (help #MSG_NOHELP)
  356.                             (default "0.039703")
  357.                         )
  358.                     )
  359.                     (set #spacewidth #tt_spacewidth)
  360.                 )
  361.  
  362.                 ;-- ISFIXED -----------------------------------------------
  363.                 
  364.                 (set #QUERY_ID "ISFIXED")
  365.                 (P_GetTTInfo)
  366.                 (if (<> "" #RESULT)
  367.                     (set #isfixed #RESULT)
  368.                     (if (= 0 (askbool 
  369.                                 (prompt #MSG_OTAG_FIXED)
  370.                                 (help #MSG_NOHELP)
  371.                                 (default 1)
  372.                              )
  373.                         )
  374.                         (set #isfixed "1")
  375.                         (set #isfixed "0")
  376.                     )
  377.                 )
  378.  
  379.                 ;-- ISSERIF -----------------------------------------------
  380.                 
  381.                 (set #QUERY_ID "ISSERIF")
  382.                 (P_GetTTInfo)
  383.                 (if (<> "" #RESULT)
  384.                     (set #isserif #RESULT)
  385.                     (if (= 0 (askbool 
  386.                                 (prompt #MSG_OTAG_SERIF)
  387.                                 (help #MSG_NOHELP)
  388.                                 (default 1)
  389.                              )
  390.                         )
  391.                         (set #isserif "1")
  392.                         (set #isserif "0")
  393.                     )
  394.                 )
  395.  
  396.                 ;-- WEIGHT ------------------------------------------------
  397.                 
  398.                 (set #QUERY_ID "WEIGHT")
  399.                 (P_GetTTInfo)
  400.                 (if (<> "" #RESULT)
  401.                     (set #stemweight #RESULT)
  402.                     (
  403.                         (set #sw
  404.                             (askchoice
  405.                                 (prompt #MSG_OTAG_STEMWEIGHT)
  406.                                 (choices #MSG_SW_ULTRATHIN
  407.                                          #MSG_SW_EXTRATHIN
  408.                                          #MSG_SW_THIN
  409.                                          #MSG_SW_EXTRALIGHT
  410.                                          #MSG_SW_LIGHT
  411.                                          #MSG_SW_DEMILIGHT
  412.                                          #MSG_SW_SEMILIGHT
  413.                                          #MSG_SW_BOOK
  414.                                          #MSG_SW_MEDIUM
  415.                                          #MSG_SW_SEMIBOLD
  416.                                          #MSG_SW_DEMIBOLD
  417.                                          #MSG_SW_BOLD
  418.                                          #MSG_SW_EXTRABOLD
  419.                                          #MSG_SW_BLACK
  420.                                          #MSG_SW_EXTRABLACK
  421.                                          #MSG_SW_ULTRABLACK)
  422.                                 (help #MSG_NOHELP)
  423.                                 (default 7)
  424.                             )
  425.                         )
  426.                         (if (= 0 #sw) (set #stemweight "8"))
  427.                         (if (= 1 #sw) (set #stemweight "24"))
  428.                         (if (= 2 #sw) (set #stemweight "40"))
  429.                         (if (= 3 #sw) (set #stemweight "56"))
  430.                         (if (= 4 #sw) (set #stemweight "72"))
  431.                         (if (= 5 #sw) (set #stemweight "88"))
  432.                         (if (= 6 #sw) (set #stemweight "104"))
  433.                         (if (= 7 #sw) (set #stemweight "120"))
  434.                         (if (= 8 #sw) (set #stemweight "136"))
  435.                         (if (= 9 #sw) (set #stemweight "152"))
  436.                         (if (= 10 #sw) (set #stemweight "168"))
  437.                         (if (= 11 #sw) (set #stemweight "184"))
  438.                         (if (= 12 #sw) (set #stemweight "200"))
  439.                         (if (= 13 #sw) (set #stemweight "216"))
  440.                         (if (= 14 #sw) (set #stemweight "232"))
  441.                         (if (= 15 #sw) (set #stemweight "248"))
  442.                     )
  443.                 )
  444.                 
  445.                 ;-- ITALIC ------------------------------------------------
  446.                 
  447.                 (set #QUERY_ID "ISITALIC")
  448.                 (P_GetTTInfo)
  449.                 (if (<> "" #RESULT)
  450.                     (set #slantstyle #RESULT)
  451.                     (set #slantstyle
  452.                         (cat
  453.                             (askchoice
  454.                                 (prompt #MSG_OTAG_SLANTSTYLE)
  455.                                 (choices #MSG_SLANTSTYLE_NORMAL #MSG_SLANTSTYLE_ITALIC #MSG_SLANTSTYLE_LEFTITALIC)
  456.                                 (help #MSG_NOHELP)
  457.                                 (default 0)
  458.                             )
  459.                         )
  460.                     )
  461.                 )
  462.  
  463.                 ;-- HORIZSTYLE --------------------------------------------
  464.  
  465.                 (set #QUERY_ID "HORIZSTYLE")
  466.                 (P_GetTTInfo)
  467.                 (if (<> "" #RESULT)
  468.                     (set #horizontalstyle #RESULT)
  469.                     (
  470.                         (set #hs
  471.                             (askchoice
  472.                                 (prompt #MSG_OTAG_HORIZSTYLE)
  473.                                 (choices #MSG_HS_ULTRACOMPRESSED
  474.                                          #MSG_HS_EXTRACOMPRESSED
  475.                                          #MSG_HS_COMPRESSED
  476.                                          #MSG_HS_CONDENSED
  477.                                          #MSG_HS_NORMAL
  478.                                          #MSG_HS_SEMIEXPANDED
  479.                                          #MSG_HS_EXPANDED
  480.                                          #MSG_HS_EXTRAEXPANDED)
  481.                                 (help #MSG_NOHELP)
  482.                                 (default 4)
  483.                             )
  484.                         )
  485.                         (if (= 0 #hs) (set #horizontalstyle "16"))
  486.                         (if (= 1 #hs) (set #horizontalstyle "48"))
  487.                         (if (= 2 #hs) (set #horizontalstyle "80"))
  488.                         (if (= 3 #hs) (set #horizontalstyle "112"))
  489.                         (if (= 4 #hs) (set #horizontalstyle "144"))
  490.                         (if (= 5 #hs) (set #horizontalstyle "176"))
  491.                         (if (= 6 #hs) (set #horizontalstyle "208"))
  492.                         (if (= 7 #hs) (set #horizontalstyle "240"))
  493.                     )
  494.                 )
  495.  
  496.                 ;-- SIZES -------------------------------------------------
  497.  
  498.                 (if (= "" #tt_aslsizes)
  499.                     (
  500.                         (set #sizesdone 0)
  501.                         (set #sizes "")
  502.                         (set #sizemsg "")
  503.  
  504.                         (while (= 0 #sizesdone)
  505.                             (
  506.                                 (set #size
  507.                                     (askstring
  508.                                         (prompt #MSG_OTAG_SIZES #sizemsg)
  509.                                         (help #MSG_NOHELP)
  510.                                         (default "")
  511.                                     )
  512.                                 )
  513.                                 
  514.                                 (if (= "" #size)
  515.                                     (
  516.                                         (set #sizesdone 1)
  517.                                         (set #sizes (cat #sizes "\n"))
  518.                                     )
  519.                                     (
  520.                                         (set #sizes (cat #sizes #size "\n"))
  521.                                         (set #sizemsg (cat #sizemsg #size " "))
  522.                                     )
  523.                                 )
  524.                             )
  525.                         )
  526.                     )
  527.                     (set #sizes #tt_aslsizes)
  528.                 )
  529.                 
  530.                 ;--
  531.             )
  532.         )
  533.         
  534. ;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  535. ;|                                                                       |
  536. ;*   M A K E   R E S P O N S E   F I L E   F O R   " M A K E O T A G "   *
  537. ;|                                                                       |
  538. ;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  539.  
  540.         
  541.         (textfile
  542.             (prompt " ")
  543.             (dest "T:makeotag_response")
  544.             
  545.             (append "freedom\n")
  546.             (append #familyname)
  547.             (append "\n\n\n\n\n")
  548.             (append #ysizefactorhigh)
  549.             (append "\n")
  550.             (append #ysizefactorlow)
  551.             (append "\n")
  552.             (append #spacewidth)
  553.             (append "\n")
  554.             (append #isfixed)
  555.             (append "\n")
  556.             (append #isserif)
  557.             (append "\n")
  558.             (append #stemweight)
  559.             (append "\n")
  560.             (append #slantstyle)
  561.             (append "\n")
  562.             (append #horizstyle)
  563.             (append "\n")
  564.             (append "\n")
  565.             (append #sizes)
  566.             
  567.             (help #MSG_NOHELP)
  568.         )
  569.  
  570.         (run ("Tools/MakeOTag >NIL: <t:makeotag_response \"%s\" \"%s\"" (tackon #fontpath #fileonlyonly) #fileonly)
  571.             (prompt "")
  572.             (help #MSG_NOHELP)
  573.         )
  574.  
  575. ;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  576. ;|                                                                       |
  577. ;*                     O N E   M O R E   F O N T ?                       *
  578. ;|                                                                       |
  579. ;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  580.  
  581.  
  582.         (set #oncemore
  583.             (askchoice
  584.                     (prompt #MSG_ANOTHER_FONT)
  585.                     (choices #MSG_ANOTHER_YES #MSG_ANOTHER_YES2 #MSG_ANOTHER_NO)
  586.                     (choices #MSG_ANOTHER_YES #MSG_ANOTHER_YES2 #MSG_ANOTHER_NO)
  587.                     (default #defaultagainanswer)
  588.                     (help #MSG_NOHELP)
  589.             )
  590.         )
  591.         
  592.         (set #defaultagainanswer #oncemore)
  593.  
  594.         (if (= 2 #oncemore)
  595.             (set #again 0)
  596.             (
  597.                 (set #again 1)
  598.                 (if (= 1 #oncemore)
  599.                     (set #sameotag 1)
  600.                     (set #sameotag 0)
  601.                 )
  602.             )
  603.         )
  604.  
  605.     )
  606.  
  607. )
  608.  
  609. ;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  610. ;|                                                                       |
  611. ;*                           T H E   E N D                               *
  612. ;|                                                                       |
  613. ;*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  614.  
  615.  
  616. (exit #MSG_DONE (quiet))
  617.